import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

import Components from 'unplugin-vue-components/vite'
import { VantResolver } from 'unplugin-vue-components/resolvers'
// createSvgIconsPlugin 打包生成svg的（雪碧图/地图）图片的插件
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import path from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  // 可以改变环境变量 import.meta.env.BASE_URL的值，默认是/
  base: '/',
  plugins: [
    vue(),
    // 自动的导入组件 包括组件的样式
    Components({
      // 解决样式重复问题  关闭组件样式的自动导入
      // 类型重复问题  会给自动导入的组件添加类型   -》vant组件本身内置类型 所以需要关闭自动导入的添加类型
      dts: false, // 关闭 自动导入组件添加类型
      // 配置解析器 解析vant  还可以支持其他组件库 element-plus  antDesign...
      resolvers: [
        VantResolver({
          // 关闭组件样式的自动导入
          importStyle: false
        })
      ]
    }),
    createSvgIconsPlugin({
      // 指定图标文件夹，绝对路径（NODE代码）
      iconDirs: [path.resolve(process.cwd(), 'src/icons')]
    })
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})
